package org.jgs1904.spring.demo02;

/**
 * @author: 默苍璃
 * @date: 2022-01-03 16:01
 * 代理角色 实现 增加日志 功能
 */
public class UserServiceProxy implements UserService {

    /**
     * 被代理的对象
     */
    private UserServiceImpl userService;


    /**
     * spring 推荐 通过 set 方法 设值 (无参构造)
     * 也可以 通过构造方法 设值(有参构造)
     *
     * @param userService
     */
    public void setUserService(UserServiceImpl userService) {
        this.userService = userService;
    }


    @Override
    public void add() {
        userService.add();
        log("add");
    }


    @Override
    public void delete() {
        userService.delete();
        log("delete");
    }


    @Override
    public void update() {
        userService.update();
        log("update");
    }


    @Override
    public void query() {
        userService.query();
        log("query");
    }


    public void log(String msg) {
        System.out.println("调用了" + msg + "方法!");
    }

}
